package cc.mrbird.febs.accounting.service;

import cc.mrbird.febs.accounting.entity.ProjectType;
import cc.mrbird.febs.common.entity.QueryRequest;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;

/**
 *  Service接口
 *
 * @author chenyuxuan
 * @date 2021-09-28 23:26:45
 */
public interface IProjectTypeService extends IService<ProjectType> {
    /**
     * 查询（分页）
     *
     * @param request QueryRequest
     * @param projectType projectType
     * @return IPage<ProjectType>
     */
    IPage<ProjectType> queryProjectTypes(QueryRequest request, ProjectType projectType);

    /**
     * 查询（所有）
     *
     * @param projectType projectType
     * @return List<ProjectType>
     */
    List<ProjectType> findProjectTypes(ProjectType projectType);

    /**
     * 查询（最近进行）
     *
     * @return List<ProjectType>
     */
    List<ProjectType> findOngoingProjectTypes();

    /**
     * 新增
     *
     * @param projectType projectType
     */
    Boolean createProjectType(ProjectType projectType);

    /**
     * 修改
     *
     * @param projectType projectType
     */
    Boolean updateProjectType(ProjectType projectType);

    /**
     * 删除
     *
     * @param projectTypeIds projectTypeIds
     * @return
     */
    Boolean deleteProjectType(String projectTypeIds);

    ProjectType getProjectTypeById(Long projectTypeId);

    List<ProjectType> getProjectTypeByIds(List<String> projectTypeIds);
}
